package com.pww.movie.service;

import com.pww.movie.domain.PO.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pww.movie.domain.VO.UserVO;
import com.pww.movie.utils.Result;
import jakarta.validation.constraints.Pattern;

/**
 * <p>
 * 用户表 服务类
 * </p>
 *
 * @author pww
 * @since 2025-05-22
 */
public interface IUserService extends IService<User> {

    /**
     * 根据用户名获取用户信息
     *
     * @param username 用户名
     * @return 用户信息
     */
    Result<UserVO> getByUserName(String username);

    /**
     * 用户注册
     *
     * @param username 用户名
     * @param password 密码
     * @return 注册结果
     */

    Result register(@Pattern(regexp = "^.{2,16}$") String username, @Pattern(regexp = "^[a-zA-Z0-9]{2,16}$") String password);
}
